A typical data storage system includes a magnetic medium for storing data in magnetic form and a transducer used to write and read magnetic data respectively to and from the medium. A typical disk storage device, for example, includes one or more data storage disks coaxially mounted on a hub of a spindle motor. The spindle motor rotates the disks at speeds typically greater than several thousand revolutions-per-minute (RPM).
Digital information is typically stored in the form of magnetic transitions on a series of concentric, spaced tracks formatted on the surface of the magnetizable rigid data storage disks. The tracks are generally divided into a number of sectors, with each sector comprising a number of information fields, including fields for storing data, and sector identification and synchronization information, for example.
An actuator assembly typically includes a plurality of outwardly extending arms with one or more transducers and slider bodies being mounted on flexible suspensions. The slider body lifts the transducer head off the surface of the disk as the rate of spindle motor rotation increases, and causes the head to hover above the disk on an air bearing produced by high speed disk rotation.
In a typical data storage device, such as a direct access storage device (DASD) or other magnetic or optical storage device, data is typically stored in data sectors. In addition to storing customer data, each data sector typically includes a number of fields that store specific types of information that facilitate recovery of customer data during the readback process. Such fields may, for example, include one or more synchronization fields, an error correction code (ECC) field, a cyclic redundancy code (CRC) field, and a pad field.
Conventional data channel detector implementations typically require additional data or “pad” to be written to a data sector following writing of the customer data and ECC fields in order to allow the channel's detector to decode the last bytes of data written to the sector. The purpose of the pad is to provide sample values to the channel's detector and/or parity circuits for purposes of resolving pending decisions at the end of a data read operation.
In state of the art DASD read/write channels, parity encoding schemes are employed which use large block sizes to improve code rate efficiency. In such schemes, the encoding process does not require a full block of data be written to the disk. In accordance with current decoding processes which employ parity information to correct errors in the block, however, it is a requirement that a full block of data be read prior to transferring customer data.
The use of large block sizes, such as 12 byte blocks in certain designs, limits the granularity of available sector sizes. In cases where the needed number of bytes does not fit a modulus of the block size, for example, an appropriate number of pad bytes are added to meet the requirement. If the pad was not added, a read operation would return erroneous data due to the last block being incomplete and would most likely have incorrect parity information resulting in miscorrected data being transferred out.
It is appreciated by those skilled in the art that this pad represents wasted space that could otherwise be allocated for storing customer data or other needed information. Inclusion of such pad degrades format efficiency. In current DASD designs, there is no practicable way to completely eliminate the need for pad due to varied data rates, split sectors, and customer requests for non-standard sector sizes, among other reasons. The use of smaller block sizes has several disadvantages as well, including lower code rate efficiency and/or degraded error rate performance, both of which degrade format efficiency.
There is a need for an improved data storage formatting approach which provides for increased data sector format efficiency. There exists a further need for such an approach that provides for increased customer data storage capacity, and one that allows designers to implement more efficient coding schemes without incurring loss of format efficiency due to the requirement to add pad at the end of a data sector. The present invention fulfills these and other needs.